﻿@model  DHQGHN.DAL.Common.DataPage<DHQGHN.PM0.Models.Admin.UserModel>
@{
    var pagNar = ViewBag.Pagination as DHQGHN.DAL.Common.Pagination;
    var lstItem = Model.Data;
}
<table class="tbl">
    <thead>
        <tr>
            <th style="width:5%">STT</th>
            <th style="width:5%">Chọn</th>
            <th style="width:15%">Tên đăng nhập</th>
            <th style="width:23%">Họ và tên</th>
            <th style="width:21%">Email</th>            
            <th style="width:15%">Trạng thái sử dụng</th>
            <th style="width:5%">Thao tác</th>
            <th style="width:5%">Chi tiết</th>
            <th style="width:9%">Reset Password</th>
        </tr>
    </thead>
    <tbody id="ctg_content_body">
        @if (Model.Data.Any())
        {
            for (int i = 0; i < lstItem.Count; i++)
            {
                <tr>
                    @if (@lstItem[i].IsActive == 1) { 
                    <td class="align-center">@(i + 1 + pagNar.CurrentPage * pagNar.PageSize)</td>
                    <td style="text-align:center"><div id="checkboxUser"><input type="checkbox" name="@lstItem[i].ID" /></div></td>
                    <td style="text-align: left;">@lstItem[i].UserName</td>
                    <td style="text-align: left;">@lstItem[i].FullName</td>
                    <td style="text-align: left;">@lstItem[i].Email</td>                    
                    <td style="text-align: center;color:green">Đang sử dụng</td>
                    <td style="text-align: center;">
                        <a title='Sửa thông tin người dùng' data-toggle='confirmation' href='javascript:void(0)' class='user-edit' data-id='@lstItem[i].ID'>
                            <div class='glyphicon glyphicon-edit'></div>
                        </a>
                    </td>

                    <td style="text-align: center;">
                        <a title='Xem chi tiết' data-toggle='confirmation' href='javascript:void(0)' class='view-detail' data-id='@lstItem[i].ID'>
                            <div class='glyphicon glyphicon-screenshot'></div>
                        </a>
                    </td>

                    <td style="text-align: center;">
                        <a title='Reset Mật khẩu' data-toggle='confirmation' href='javascript:void(0)' class='reset-pass' data-id='@lstItem[i].ID'>
                            <div class='glyphicon glyphicon-refresh'></div>
                        </a>
                    </td>
                    }
                    else
                    {
                       <td class="align-center">@(i + 1 + pagNar.CurrentPage * pagNar.PageSize)</td>
                    <td style="text-align:center"></td>
                    <td style="text-align: left;">@lstItem[i].UserName</td>
                    <td style="text-align: left;">@lstItem[i].FullName</td>    
                    <td style="text-align: left;">@lstItem[i].Email</td>                    
                     <td style="text-align: center;color:red">Không sử dụng</td>
                    <td style="text-align: center;">
                        <a title='Đưa vào sử dụng' data-toggle='confirmation' href='javascript:void(0)' class='re-active' data-id='@lstItem[i].ID'>
                            <div class='glyphicon glyphicon-play'></div>
                        </a>
                    </td>

                    <td style="text-align: center;">
                        <a title='Xem chi tiết' data-toggle='confirmation' href='javascript:void(0)' class='view-detail' data-id='@lstItem[i].ID'>
                            <div class='glyphicon glyphicon-screenshot'></div>
                        </a>
                    </td>

                    <td style="text-align: center;"></td> 
                    }
                </tr>
            }

        }
        else
        {
            <tr>
                <td colspan="9"><p>Không tìm thấy người dùng.</p></td>
            </tr>

        }
    </tbody>
    <tfoot>
        <tr>
            <td colspan="9" style="text-align:left;height:25px">
                <button type="button" class="btn btn-danger" title="Xóa người dùng" id="btnDelete">Ngừng sử dụng</button>
            </td>
        </tr>
        <tr>
            <td colspan="9">
                @if (Model.Data.Any())
                {
                    @Html.Partial("_PaginationView", pagNar)
                }
            </td>
        </tr>
    </tfoot>
</table>

<div id="navigate_bottom_panel" class="nav-bottom ">
</div>
<div id="user-model-container"></div>

<script>
    @functions{
            public string GetAntiForgeryToken()
            {
                string cookieToken, formToken;
                AntiForgery.GetTokens(null, out cookieToken, out formToken);
                return cookieToken + "," + formToken;
            }
        }
</script>

<script type="text/javascript">
    var crrPageIndex;
    function OnCriteria(pageIndex) {
        var fullname = $('#input-fullname');
        var username = $('#input-username');
        var code = $('#input-code');
        var appId = $('#input-appid').val();
        crrPageIndex = pageIndex;
        fullname = fullname != null ? fullname.val().trim() : "";
        username = username != null ? username.val().trim() : "";
        code = code != null ? code.val().trim() : "";
        $.ajax({
            dataType: "html",
            type: "POST",
            //type: "GET",
            url: '/Users/actionSearch',
            contentType: "application/json",
            //data: { key: ctrSearch, departmentId: ctrdepartmentId, pageIndex: pageIndex },
            data: JSON.stringify({ pageIndex: pageIndex, uModel: { FullName: fullname, UserName: username, Status: code, AppId : appId } }),
            success: function (response) {
                var $catlist = $('#user-list');

                if ($catlist == null || $catlist.length == 0) {
                    window.notice('@*@Resources.Localization.MsgItemNotFound*@', window.notice_error);
                }
                else {
                    $catlist.html(response);
                }
            }
        });
        setTimeout(function () { $('#search_form').find('input:text:visible:first').focus(); }, 500);
    }

    $(document).ready(function () {
        $('a').tipsy();

        $("table.tbl-user-list").colResizable({
            headerOnly: true,
            defaultWith: ["auto", "auto", "auto", "auto", "60px", '30px', '30px', '30px']
        });

        $('.user-config').bind('click', function (event) {
            var $self = $(this);
            //thay doi giao dien
            var $table = $self.parents('table');
            var $all_tr = $table.find('tr');
            $all_tr.css(
                {
                    'background-color': 'transparent'
                });
            var $tr = $self.parents('tr');
            //$tr.css('background-color', '#FAC58F');

            $.get('/users/configuser', { userId: $self.attr('data-id') }, function (response) {
                var $userlist = $('.content');
                $('.tipsy-n').css('display', 'none');
                $userlist.html(response);
                //$userlist.html($tr.find('td').first().html());//.css('background-color', '#FAC58F');

            });
        });

        $('.change-active').bind('change', function (event) {
            var $self = $(this);
            $.post('/users/ActiveChage', { userId: $self.val(), active: $self.is(":checked") == true }, function (response) {
                if (response.status == 200) {
                    window.notice(response.result, window.notice_success);
                }
                else {
                    window.notice(response.result, window.notice_error);
                }
            });
        });

        $('.user-edit').bind('click', function (event) {
            var $self = $(this);
            prepareCreateOrUpdate($self.attr('data-id'), 'Cập nhật thông tin người dùng');
        })

        $('.reset-pass').bind('click', function (event) {
            $('.ui-dialog ui-widget ui-widget-content ui-corner-all ui-draggable ui-dialog-buttons').show();
            $("body").on('click', function (e) {
                $(".ui-dialog .ui-dialog-titlebar-close").click();
                $('body').off('click');
            });
            $(".ui-dialog").on('click', function (e) {
                e.stopPropagation();
            });
            event.stopPropagation();
            var $self = $(this);
            comfirmDelete("Bạn có muốn khôi phục tài khoản này về mật khẩu mặc định không ?", function () {
                $.ajax("/Users/resetPass", {
                    type: "post",
                    contentType: "application/json",
                    data: JSON.stringify({ appId: $self.attr('data-id') }), // JSON data goes here
                    dataType: "json",
                    headers: {
                        'VerificationToken': '@GetAntiForgeryToken()'
                    },
                    success: function (response) {
                        if (response.status == 200) {
                            OnCriteria(crrPageIndex);
                            window.notice(response.result, window.notice_success);
                        }
                        else {
                            window.notice(response.result, window.notice_error);
                        }
                    },
                });
            }, null, "Reset mật khẩu");
        });

        $('.re-active').bind('click', function (event) {
            $('.ui-dialog ui-widget ui-widget-content ui-corner-all ui-draggable ui-dialog-buttons').show();
            $("body").on('click', function (e) {
                $(".ui-dialog .ui-dialog-titlebar-close").click();
                $('body').off('click');
            });
            $(".ui-dialog").on('click', function (e) {
                e.stopPropagation();
            });
            event.stopPropagation();
            var $self = $(this);
            comfirmDelete("Bạn có muốn đưa người dùng đã xóa vào sử dụng không ?", function () {
                $.ajax("/Users/reActive", {
                    type: "post",
                    contentType: "application/json",
                    data: JSON.stringify({ appId: $self.attr('data-id') }), // JSON data goes here
                    dataType: "json",
                    headers: {
                        'VerificationToken': '@GetAntiForgeryToken()'
                    },
                    success: function (response) {
                        if (response.status == 200) {
                            OnCriteria(crrPageIndex);
                            window.notice(response.result, window.notice_success);
                        }
                        else {
                            window.notice(response.result, window.notice_error);
                        }
                    },
                });
            }, null, "Đưa vào sử dụng");
        });

        $('#btnDelete').click(function (e) {
            $('.ui-dialog ui-widget ui-widget-content ui-corner-all ui-draggable ui-dialog-buttons').show();
            $("body").on('click', function (e) {
                $(".ui-dialog .ui-dialog-titlebar-close").click();
                $('body').off('click');
            });
            $(".ui-dialog").on('click', function (e) {
                e.stopPropagation();
            });
            e.stopPropagation();
            var values = [];
            $('#checkboxUser input:checked').each(function () {
                values.push(this.name);
            });

            if (values.length != 0) {
                var $self = $(this);
                comfirmDelete("Bạn có muốn ngừng sử dụng người dùng không?", function () {
                    $.ajax("/Users/actionDelete", {
                        type: "post",
                        contentType: "application/json",
                        data: JSON.stringify({ userList: values }), // JSON data goes here
                        dataType: "json",
                        headers: {
                            'VerificationToken': '@GetAntiForgeryToken()'
                        },
                        success: function (response) {
                            if (response.status == 200) {
                                OnCriteria(crrPageIndex);
                                window.notice(response.result, window.notice_success);
                            }
                            else {
                                window.notice(response.result, window.notice_error);
                            }
                        },
                    });
                }, null, "Ngừng sử dụng");
            } else {
                warning("Cần chọn người dùng để ngừng sử dụng", "Ngừng sử dụng");
            }
        });

        $('.view-detail').bind('click', function (event) {
            $('.ui-dialog ui-widget ui-widget-content ui-corner-all ui-draggable ui-dialog-buttons').show();
            $("body").on('click', function (e) {
                $(".ui-dialog .ui-dialog-titlebar-close").click();
                $('body').off('click');
            });
            $(".ui-dialog").on('click', function (e) {
                e.stopPropagation();
            });
            event.stopPropagation();
            var $self = $(this);
            prepareViewDetail($self.attr('data-id'), 'Danh sách quyền người dùng');
            hideLoading();
        });
    });

</script>
